package com.zcb.rxjavapractice.activity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

import com.zcb.rxjavapractice.R;

import java.util.concurrent.TimeUnit;

import rx.Observable;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Func1;

public class ImgCacheActivity extends AppCompatActivity {

    /**
     * 使用RxJAVA实现加载缓存或者网络图片
     * @param savedInstanceState
     *
     * mergeDelayError:合并几个不同的Observable
     *
     * sample :每隔一段时间就进行采样，在时间间隔范围内获取最后一个发布的Observable
     *
     * flatMap :把某一个Observable转换为另一个Observable
     *
     *
     */

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_img_cache);

        ImageView view= (ImageView) findViewById(R.id.my_pic);
        view.setImageResource(R.drawable.cachepic);
//        loadpic();
    }

//    private void loadpic(){
//        Observable.mergeDelayError(
//                //在新的线程中加载本地缓存图片
//                ,
//                //在新线程中加载网络图片
//                ,
//                Observable.timer(3.,TimeUnit.SECONDS, AndroidSchedulers.mainThread())
//                .flatMap(new Func1<Long, Observable<?>>() {
//                    @Override
//                    public Observable<?> call(Long aLong) {
//                        if (aLong==null){//如果获取到图片，直接跳转到主页
//                            return Observable.empty();
//                        }else{//如果获取到图片,则停留2秒再跳转到主页
//                            return Observable.timer(2,TimeUnit.SECONDS);
//                        }
//                    }
//                })
//        )
//    }


}
